import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'

// icon图标
import iconfont from '@/utils/iconfont'

// 全局引入组件 方式
// import hello from '@/components/hello.vue'
// Vue.component('hello',hello)

Vue.config.productionTip = false;
// 拦截器
import request from '@/utils/request'
Vue.prototype.$http = request;

// 引入vant组件
import '@/components/vant/index'

//  实例的数据叫根数据  也可以理解为是全局数据  
// 拿到数据
let token = localStorage.getItem('token')
let tokenExpired = localStorage.getItem('tokenExpired')
let uid = localStorage.getItem('uid')
// 判断token是否过期

let now=new Date().getTime();
// 如果本地存储没token   或者没token过期时间  或者token过期了  都会触发清除的操作  
// 需要登录
if(( now > tokenExpired)){
  //  当前的时间 大于了过期的时间  
  alert('你的身份验证已过期,请你重新登录');
  token='';
  uid=''
  localStorage.removeItem('token')
  localStorage.removeItem('tokenExpired')
  localStorage.removeItem('uid')
  localStorage.removeItem('userInfo')

  new Vue({
    data:{
      userInfo:{},
      token,
      uid
    },
    router,
    store,
    render: h => h(App)
  }).$mount('#app')


}else{
    // 如果有token   没过期   
    // 从服务器去拿一次新的userInfo  因为可能在别的地方修改数据了   最好拿最新的
  request.post('/user/getuserInfo',{
    token
  }).then(res=>{
    console.log(res);

    new Vue({
      data:{
        userInfo:res.userInfo,
        token,
        uid
      },
      router,
      store,
      render: h => h(App)
    }).$mount('#app')


  })

  
}

